package backpage.service;

import backpage.entity.po.CompoffApply;
import backpage.entity.po.OvertimeApply;
import backpage.entity.vo.OvertimeApplyVo;
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;

import java.util.Date;
import java.util.List;

/**
 * <p>
 * 加班信息服务类
 * </p>
 *
 * @author 刘仁杰
 * @since 2025-04-19
 */
public interface IOvertimeApplyService extends IService<OvertimeApply> {
    void addOvertimeApply(OvertimeApply overtimeApplyy);

    boolean deleteById(Long id);

    PageInfo<OvertimeApplyVo> getListByEmployIdAndParam(Integer employId, Date startTime, Date endTime, Integer state,Integer type, Integer approveId , int pageNum, int pageSize);

    PageInfo<OvertimeApply>  getListByApproverIdAndParam(Integer approverId, Date startTime, Date endTime, Integer state, int pageNum, int pageSize);

    public void saveOvertimeApply(OvertimeApply overtimeApply);

    boolean appoverOvertimeApply(OvertimeApply overtimeApply);

    void quickApproveOvertimeApply(Long id, Integer state);

    public List<OvertimeApply> getApprovedOvertimeApplies(Date startDate, Date endDate);
}
